Inhalt der C-Control / BASIC Hilfe

Um allgemeine Informationen zur Arbeit mit dem Windows Hilfesystem zu bekommen, drücken Sie jetzt F1.

Programmkonzept

Bedienung

CCBASIC-Befehle

In diesem Hilfesystem sollen folgende Symbole am linken Rand Ihr besonderes Interesse am Geschriebenen wecken:

	Wichtiger Hinweis
	Syntaxregel
	Beispiel


Programmkonzept

CCEW32D ist die integrierte Benutzeroberfläche zur Programmierung des Conrad Electronic C-Control/BASIC Steuercomputers unter Windows95 und Windows NT.

Im Editor schreiben Sie den BASIC-Quelltext zur Realisierung Ihrer Steuerungsaufgabe. Der Compiler übersetzt den Quelltext in ein für den Steuercomputer verständliches Format. Anschließend können Sie Ihr Programm mit dem integrierten Simulator austesten. Funktioniert alles wie gewünscht, dann übertragen Sie Ihr Programm in den Steuercomputer.


Bedienung

Grundlagen

Menü

Editor

Ansichtsfenster

Optionen


Bedienungsgrundlagen

Die Benutzeroberfläche ist kompatibel zum Windows GUI-Standard. (GUI = Grafical User Interface). Am oberen Rand des Programm-Hauptfensters befinden sich Titelzeile, Menü und Werkzeugleiste. Die Schalter der Werkzeugleiste bieten einen schnellen Zugriff auf die wichtigsten Menübefehle. Am unteren Rand informiert Sie die Statuszeile über den aktuellen Zustand des Systems.

Wenn Sie allgemeine Fragen zur Bedienung von Windows-Programmen haben, so konsultieren Sie bitte das Windows-Handbuch, die Windows-Online-Hilfe oder das Windows-Tutorialprogramm.


Menü

Das Menüsystem führt Sie an alle Programmfunktionen. Das Menü gliedert sich wie folgt:

Datei	Standardbefehle zum Öffnen und Speichern von Dateien, Drucken und Beenden.
Bearbeiten	Standardbefehle für den Editor.
Ansicht	Ein- und Ausblenden der Werkzeugleiste und der Statuszeile, Öffnen der speziellen Ansichtsfenster.
Entwicklung	Compilieren	Aufruf des Compilers für das aktive Editorfenster. Der Befehl ist nicht wählbar, wenn das aktive Fenster kein Editorfenster ist oder im aktiven Editorfenster kein als BAS-Datei gespeicherter BASIC-Quelltext angezeigt wird. Im Meldungsfenster erscheinen die Ausgaben des Compilers über Erfolg oder aufgetretene Fehler.
	In C-ControlUnit übertragen	Aufruf des Compilers für das aktive Editorfenster. Bei Erfolg wird anschließend der Lader aufgerufen, das übersetzte Programm in die ControlUnit zu übertragen. Im Meldungsfenster erscheinen die Ausgaben des Compilers und des Laders über Erfolg oder aufgetretene Fehler.
	Nächsten Fehler anzeigen	Wenn Sie im Editorfenster die vom Compiler gemeldeteten Fehler beseitigen, können Sie mit diesem Menübefehl direkt zur nächsten Fehlerzeile gelangen.
	Vorherigen Fehler anzeigen	Wenn Sie im Editorfenster die vom Compiler gemeldeten Fehler beseitigen, können Sie mit diesem Menübefehl direkt zur vorherigen Fehlerzeile gelangen.
Simulator	Ausführen	Starten der Programmausführung auf dem Simulator. Der Simulator läuft dann bis zum END-Befehl. Dabei werden Programmausgaben und Portzustände in speziellen Ansichtsfenstern gezeigt. Der Simulator kann nur aus einem aktiven, erfolgreich compilierten Editorfenster heraus gestartet werden!
	Anhalten	Anhalten des Simulators. Mit dem Befehl „Ausführen“ kann die Simulation anschließend an der Stelle der Unterbrechung fortgesetzt werden.
	Rücksetzen	Rücksetzen des Simulators. Dabei werden alle Speicherzellen =0 gesetzt. Vor dem Rücksetzen muß der Simulator angehalten werden.
	Einzelschritt	Ausführen des Programms im Einzelschrittbetrieb. Ein Schritt entspricht einer BASIC-Anweisung, also in den meisten Fällen einer BASIC-Zeile.
	Gehe bis zum Cursor	Ausführen des Programms bis zu der Zeile des aktiven Editorfensters, in der sich der blinkende Textcursor gerade befindet.
	Haltepunkt umschalten	Setzen und Löschen von Haltepunkten in BASIC-Zeilen. Gelangt der Simulator bei der Ausführung des Programms an einen Haltepunkt, so wird Ausführung unterbrochen. Ein Haltepunkt kann nur in einer Zeile gesetzt werden, die ausführbaren BASIC-Code enthält, also nicht in einer Leerzeile, einer DEFINE-Zeile oder einer Kommentarzeile.
	Variable überwachen	Eintragen einer Variable in die Liste der zu überwachenden Variablen.
Optionen	Umgebung	Öffnen eines Dialogs zur Eingabe der Umgebungseinstellungen.
	Farben und Schriftarten	Öffnen eines Dialogs zur Einstellung von Farben und Schriftarten für Editor- und Ansichtsfenster.
Fenster	Standardbefehle zur Anordnung der Editor- und Ansichtsfenster, Aktivieren (nach oben bringen) geöffneter Fenster.
Hilfe	Standardbefehle zum Öffnen dieser Online-Hilfe und der Info-Box.


Editor

Im Editor geben Sie die Quelltexte Ihrer C-Control/BASIC Projekte ein. Im Programm können mehrere Editorfenster gleichzeitig geöffnet sein.

Der Editor unterstützt Zurücknehmen von Änderungen (undo), das Suchen und Ersetzen von Worten sowie das Verschieben, Kopieren und Löschen markierter Textblöcke über entsprechende Befehle im „Bearbeiten“-Menü. Das Markieren von Textabschnitten erfolgt durch Bewegen des Cursors mit Hilfe der Cursortasten bei gleichzeitigem Gedrückthalten der SHIFT-Taste oder durch Ziehen der Maus über einen Textabschnitt mit gedrückter linker Maustaste.

Der Editor verfügt über die Fähigkeit des Syntax-Highlighting für BASIC- und Assembler-Quelltexte. Durch automatisches Hervorheben bestimmter Quelltextelemente in einstellbaren Farben wird die Übersichtlichkeit des Geschriebenen wesentlich erhöht.

Im Editor werden während der Simulation zusätzliche Informationen wie aktive und ungültige Haltepunkte sowie die aktuelle Ausführungszeile angezeigt. Bei mehreren geöffneten Editorfenstern sind grundsätzlich nur die Haltepunkte im zuletzt compilierten bzw. gerade simulierten Programm eingeschaltet.

Wichtige Befehle sind zusätzlich zum Hauptmenü und zu den Schaltern der Werkzeugleiste auch über ein lokales Popupmenü (Klicken mit rechter Maustaste) erreichbar.

	Während des Simulationslaufes ist der Inhalt des aktiven Editorfensters schreibgeschützt. Wenn Sie bei der Simulation einen Fehler in Ihrem Programm bemerken und diesen berichtigen wollen, so müssen Sie zuerst den Simulator anhalten und rücksetzen.


Ansichtsfenster

Alle speziellen Fenster sowie das Editorfenster mit dem zuletzt compilierten Quelltext sind über Tastenkürzel (Alt+0 bis Alt+6) erreichbar. Besonders bei geringen Bildschirmauflösungen und damit einander überlappenden Fenstern stellen diese die schnellste Möglichkeit dar, zwischen den einzelnen Fenstern zu wechseln.

Meldungsfenster

Überwachte Variablen

C-Control Ausgaben

C-Control Datenaufzeichnung

C-Control Digital-/Analogports


Meldungsfenster

Das Fenster "Meldungen" wird beim Compilerlauf bzw. beim Laden des Programms in den Steuercomputer automatisch angezeigt. Sollten im BASIC-Programm Fehler enthalten sein, so werden diese nach dem Compilerlauf im Meldungsfenster angezeigt. Durch Druck der Entertaste bzw. Doppelklick der linken Maustaste innerhalb einer solchen Zeile kann das Editorfenster aktiviert werden, wobei der Cursor auf die fehlerhafte Zeile positioniert wird. Bei mehreren Fehlern kann durch Tastendruck (Alt+F7 bzw. Alt+F8) zwischen diesen gewechselt werden.

Alle Meldungen werden vor einem erneuten Compilerlauf aus dem Fenster gelöscht, Sie können alte Meldungen aber auch über einen Menüpunkt im Menü "Bearbeiten" in die Zwischenablage kopieren oder löschen.


Überwachte Variablen

Das Fenster "Überwachte Variablen" dient der Anzeige und dem Ändern von Variablen während der Simulation des BASIC-Programmes. Sie können jederzeit Variablen einfügen (Taste Einfg) und löschen (Taste Entf), außerdem den Namen eingetragener Variablen ändern sowie - während der Simulation eines Programms - deren Wert verändern.

Die Breite der beiden Spalten des Fensters kann durch Ziehen mit gedrückter linker Maustaste verändert werden. Alle Funktionen können auch über ein lokales Popupmenü (Drücken der rechten Maustaste) erreicht werden.

Ändert sich der Wert einer angezeigten Variablen während des Programmlaufs, so wird diese farblich hervorgehoben.


C-Control Ausgaben

Im Fenster "C-Control Ausgaben" können Sie durch das Anwenderprogramm ausgegebene Meldungstexte oder Variableninhalte verfolgen. Der Inhalt dieses Fensters läßt sich über Menüpunkte im Menü "Bearbeiten" in die Zwischenablage kopieren oder löschen.


C-Control Datenaufzeichnung

Im Fenster "C-Control Datenaufzeichnung" wird der Datenbereich (Datei) des Steuercomputers angezeigt. Neu hinzugekommene Einträge werden farblich hervorgehoben, in der ersten Spalte wird der Index der einzelnen Einträge angezeigt.


C-Control Digitalports und C-Control Analogports

Die Portfenster dienen der Simulation der Ein- und Ausgänge des Steuercomputers. Sie können mit der Maus den Wert von Digitaleingängen und Analogeingängen verändern, um das Anwendungsprogramm mit verschiedenen Werten "füttern" zu können:

•	Klicken mit der linken Maustaste auf die Leuchtdiodensymbole des Digitalportfensters schaltet die Eingänge um

•	Ziehen der grünen Balken der Eingangskanäle mit gedrückter linker Maustaste ändert deren Wert

Die beiden Fenster bleiben immer im Vordergrund. Wenn Sie mit einer geringen Bildschirmauflösung (640x480) arbeiten, so sollten Sie beim Bearbeiten des Quelltextes die Portfenster besser schließen. Sie können sie vor einer neuen Simulation über das Ansichtsmenü wieder sichtbar machen.

Standardmäßig werden alle Eingänge mit dem Rücksetzen der Simulators abgeschaltet, Sie können jedoch einen neuen Anfangszustand der digitalen Eingangsports festlegen. Dazu stellen Sie die Eingänge ein wie gewünscht und wählen danach im lokalen Popupmenü des Fensters den Befehl "Als Anfangseinstellungen...". Die Werte der Analogeingänge werden standardmäßig gespeichert, dieses Verhalten können Sie im Optionsdialog für Umgebungseinstellungen abschalten.


Optionen

Einige Eigenschaften der Benutzeroberfläche können Sie über zwei Dialogfenster an Ihre Bedürfnisse anpassen. Die Dialogfenster erreichen Sie über die Befehle des „Optionen“-Menüs.

Umgebungseinstellungen

Farben und Schriftarten


Umgebungseinstellungen

In diesem Dialog können Sie die Arbeitsweise des Editorfensters beeinflussen und die Schnittstelle zur Übertragung des Anwendungsprogramms in den Steuerungscomputer wählen.

Beachten Sie bitte, daß die Verwendung des PC-Lautsprechers unter Windows NT nicht möglich ist (der Wahlschalter dieser Option ist dort grau dargestellt).


Auswahl von Farben und Schriftarten

Sie haben die Möglichkeit, die in den einzelnen Fenstern verwendeten Farben und Schriften anzupassen. Wählen Sie dazu für jedes Fenster die zugehörige Dialogseite und innerhalb dieser das anzupassende Element aus. Für jeden Fenstertyp ist nur eine Schrift und eine Hintergrundfarbe zu wählen, die Vordergrundfarben verschiedener Texte (normal oder gewählt, geändert, ungültig usw.) und syntaktischer Elemente der Quelltexte dagegen sind einzeln wählbar. Dazu stehen Ihnen 16 Grundfarben und eine Auswahlmöglichkeit "Vorgabe" zur Verfügung. Letztere hat den Vorteil, daß die Farben sich an den für das Gesamtsystem gewählten orientieren.

Günstig ist die Änderung der Einstellungen bei geöffnetem Fenster, damit Sie die Auswirkungen sofort begutachten können, ohne den Dialog beenden zu müssen (Betätigung des Schalters "Übernehmen" nach Änderung einer Farbe oder Schrift).


CCBASIC-Befehle

Diese Hilfeseite bietet einen alphabetischen Überblick über alle C-Control/BASIC Schlüsselworte.

	Die Hilfeseiten enthalten zum Teil CCBASIC-Beispielzeilen. Diese Beispiele sollen die Syntax der Befehle erläutern, sind jedoch keine komplett lauffähigen Programme! Lauffähige Programme finden Sie im Verzeichnis SAMPLES.
A
	ABS	AD	AND
	APPEND
B
	BAUD	BEEP	BIT
	BYTE	BYTEPORT
C
	CLOSE#
D
	DA	DAY	DEACT
	DEFINE	DOW
E
	ELSE	END	EOF
F
	FILEFREE	FOR	FREQ
G
	GET	GOSUB	GOTO
H
	HOUR
I
	IF	INPUT	INPUT#
L
	LOOKTAB
M
	MAX	MIN	MINUTE
	MOD	MONTH
N
	NAND	NEXT	NOR
	NOT
O
	OFF	ON	ON...GOSUB
	ON...GOTO	OPEN#	OR
P
	PAUSE	PORT	PRINT
	PRINT#	PULSE	PUT
R
	R1200	R2400	R4800
	R9600	RAND	RANDOMIZE
	READ	RETURN	RXD
S
	SECOND	SHL	SHR
	SIG	SLOWMODE	STEP
	SQR	SYS	SYSCODE
	SYSEND
T
	TABEND	TABLE	THEN
	TIMER	TO	TOG
W
	WAIT	WORD	WORDPORT
	WRITE
X
	XOR
Y
	YEAR


Definition von Ports, Variablen und Konstanten
DEFINE

Die DEFINE-Anweisung dient zur Definition der vom BASIC-Programm verwendeten Variablen, Konstanten und Ports. Variablen, Konstanten und Ports müssen vor ihrer ersten Verwendung definiert sein.

folgende Definitionen sind möglich:

Definition von Bitvariablen

Definition von Bytevariablen

Definition von Wordvariablen

Definition von Konstanten

Definition von Digitalports

Definition von Byteports

Definition von Wordports

Definition von A/D-Ports

Definition von D/A-Ports

CCBASIC-Befehle


Integrierte Echtzeituhr

Der Stand der integrierten Echtzeituhr kann mit folgenden vordefinierten Variablen gelesen und gesetzt werden:

YEAR	Jahr (0...99)
MONTH	Monat (1...12)
DAY	Tag im Monat (1...31)
DOW	Wochentag (0...7)
HOUR	Stunden (0...23)
MINUTE	Minuten (0...59)
SECOND	Sekunden (0...59)
CCBASIC-Befehle

Timer


TIMER

Der Stand des freilaufenden 20ms-Timers kann mit TIMER ausgelesen werden und für Zeitmessungen benutzt werden.

	x = TIMER
	Beachten Sie, daß der Timer nicht gesetzt werden kann. Unzulässig ist also TIMER = x
CCBASIC-Befehle

Echtzeituhr


Frequenzmessung

Die Eingangsfrequenz am DCF77-Port kann mit FREQ gelesen werden.

	x = FREQ
CCBASIC-Befehle


Modulodivision

Den ganzzahligen Rest bei der Division zweier Werte liefert der Modulooperator MOD.

	x = 10 MOD 3
CCBASIC-Befehle


Quadratwurzel

Einen ganzzahligen Näherungswert für die Berechnung der Quadratwurzel liefert die Funktion SQR(x).

	SQR(x) x Term
	y = SQR(x)
CCBASIC-Befehle


Absolutbetrag

Den Absolutbetrag eines Integerwertes liefert die Funktion ABS(x).

	ABS(x) x Term
	y = ABS(x)
CCBASIC-Befehle


Signumfunktion

Die Auswertung des Vorzeichens eines Integerwertes kann mit der Funktion SIG(x) erfolgen.

	SIG(x) x Term
	y = SIG(x)
CCBASIC-Befehle


Minimum und Maximum

Der größere bzw. der kleinere zweier Integerwerte kann mit der Funktion MAX(x,y) bzw. MIN(x,y) ermittelt werden.

	MAX(x,y) MAX(x,y) x, y Terme
	x = MAX(x, newx)
CCBASIC-Befehle


Binäre und logische Operatoren

Für binäre und logische Verknüpfungen stehen folgende Operatoren zur Verfügung:

NOT	Negation
AND	Und-Verknüpfung
NAND	Und-Verknüpfung mit anschließender Negation
OR	Oder-Verknüpfung
NOR	Oder-Verknüpfung mit anschließender Negation
XOR	Exklusiv-Oder-Verknüpfung
CCBASIC-Befehle


Bitweises Verschieben

Die Operatoren SHL und SHR erlauben bitweise Verschiebeoperationen:

SHL	arithmetisches Linksschieben
SHR	arithmetisches Rechtsschieben
	x SHL y x SHL y x Term, dessen Wert geschoben werden soll y Anzahl der Stellen, um die geschoben werden soll
	z = x SHL 2
CCBASIC-Befehle


Zufallsgenerator

Der C-Control/BASIC Steuercomputer verwaltet einen internen Pseudozufallszahlengenerator. Der Befehl RANDOMIZE initialisiert den Zufallsgenerator. Die Funktion RAND gibt einen ganzzahligen Zufallswert zwischen -32768 und 32767 zurück.

	RANDOMIZE x RAND x Term, dessen Wert zur Initialisierung des Zufallsgenerators benutzt wird
	RANDOMIZE TIMER y = RAND
CCBASIC-Befehle


Sprungbefehle

•	Sprung zu einer anderen Stelle im Programm

	GOTO label label gültiges Label (Sprungziel)
	GOTO loop
•	Aufruf einer Unterroutine und Rücksprung

	GOSUB label label gültiges Label einer mit RETURN abgeschlossenen Unterroutine (Sprungziel)
	GOSUB proc ... #proc ... RETURN
•	Selective Verzweigung

	ON x GOTO label0, label1, ..., labelN ON x GOSUB label0, label1, ..., labelN x  Term mit einem Ergebnis von 0...N label0...labelN  Sprungziele, zu denen in Abhängigkeit von x verzweigt wird.
	INPUT userselection ON userselection GOSUB choice0, choice1, choice2
CCBASIC-Befehle

Definition von Labeln


FOR...TO Programmschleife
Programmschleife

	FOR x = start TO end STEP y ... NEXT x  Variablenbezeichner start Term end Term y Term Der Anweisungsblock (...) zwischen der FOR-TO-STEP-Zeile und NEXT wird solange ausgeführt, bis x den Wert end erreicht hat. Vor dem Eintritt in die Schleife wird x der Wert start zugewiesen. Nach jedem Schleifendurchlauf wird x um y inkrementiert und der Wert end berechnet. Wird STEP y nicht angegeben, wird x um jeweils 1 erhöht..
	FOR x = 1 TO 10 STEP 2   PRINT x NEXT
CCBASIC-Befehle


Bedingte Programmausführung

	IF condition THEN action1 ELSE action2 condition Term  Wenn der Wert des Terms condition ungleich Null ist, wird die Anweisung action1, anderenfalls die Alternativanweisung action2 ausgeführt. Die Angabe des Alternativzweiges ist optional.
	IF x > limit THEN GOTO alarm
CCBASIC-Befehle


Definition und Verwendung von Tabellen

•	Definition einer Tabelle

	TABLE tabname C1 C2 C3 ... ... CN TABEND oder TABLE “tabfile.tab“ tabname gültiger Bezeichner C1...CN Tabelleneinträge (Intergerzahlen) tabfile.tab Name einer Tabellendatei  Eine Tabellendatei enthält die Integerwerte als Text, getrennt durch Leerzeichen und Zeilenvorschübe.
•	Indizierter Zugriff auf Tabelleneinträge

	LOOKTAB tabname, i, var i Indexterm var Bezeichner einer definierten Variable   Der i-te Wert (i = 0...N-1 bei N Tabelleneinträgen) aus der angegebenen Tabelle wird in der Variablen var gespeichert.
	FOR i = 0 TO 4   LOOKTAB tab, i. var   PRINT var NEXT TABLE tab 12 -3 100 -32000 589 TABEND
CCBASIC-Befehle


Assemblereinbindung

Per SYS-Befehl kann zu Assemblerroutinen im internen EEPROM der ControlUnit gesprungen werden. Um den SYS-Befehl benutzen zu können, muß per SYSCODE-Befehl eine Datei im Motorola-S19-Format eingebunden werden, die die gewünschten Assemblerroutinen enthält, oder können die Codes direkt im BASIC-Quelltext angegeben werden. Von letzterer Variante sollte jedoch nur mit besonderer Vorsicht Gebrauch gemacht werden, da sie ein hohes Risiko bezüglich fehlerhafter Codeangaben birgt und so zum Absturz des C-Control-Systems führen kann.

	SYSCODE "filename.S19" oder SYSCODE   C0 C1 ... CN SYSEND filename Name der S19-Codedatei C0...CN Codes (Hex-Bytes), diese Werte werden an die Adresse &H101 geladen
CCBASIC-Befehle


Byteweise Schnittstellenkommunikation

Die Befehle GET und PUT bieten die Möglichkeit, einzelne Bytes über die serielle Schnittstelle zu übertragen.

	PUT x GET var x Term, dessen Ergebnis auf ein Byte reduziert wird var Bezeichner einer definierten Variable Die Variable var dient zur Aufnahme des seriell empfangenen Bytes. Der GET-Befehl wartet solange, bis ein Byte empfangen wurde.
CCBASIC-Befehle


Ausgabe von Texten und Werten

Der PRINT-Befehl dient zur Ausgabe von Texten und berechneten Werten über die serielle Schnittstelle.

	PRINT PRINT "text" PRINT x PRINT "text"; PRINT x; x Term PRINT ohne abschließendes Semikolon führt zu einer zusätzlichen Übertragung der Bytes &H0D und &H0A (Carriage Return und Line Feed). Mehrere Parameter können durch Komma oder Semikolon voneinander getrennt angegeben werden. Ein Komma fügt dabei ein Tabulatorzeichen ein.
	PRINT "A="; A, "B="; B
CCBASIC-Befehle


Einlesen von Werten

Um einem BASIC-Programm Daten während des Programmlaufs über die serielle Schnittstelle zuzuführen, beispielsweise Benutzereingaben von einem Terminal, kann der INPUT-Befehl benutzt werden.

	INPUT var var Bezeichner einer definierten Variable Die Variable var dient zur Aufnahme des seriell empfangenen Wertes. Der Wert wird im Textformat von der seriellen Schnittstelle erwartet, abgeschlossen durch ein Carriage Return Byte (&H0D). Der INPUT-Befehl wartet solange, bis ein Wert vollständig empfangen wurde.
CCBASIC-Befehle


Einstellen der Übertragungsrate

Der BAUD-Befehl bietet die Möglichkeit, die Übertragungsrate der seriellen Schnittstelle während des Programmlaufs zu ändern. Als Parameter können folgende vordefinierte Konstanten benutzt werden:

R1200	1200 Bit pro Sekunde
R2400	2400 Bit pro Sekunde
R4800	4800 Bit pro Sekunde
R9600	9600 Bit pro Sekunde
	BAUD R2400
CCBASIC-Befehle


Test auf empfangene Zeichen

Mit der Funktion RXD kann vor einem Aufruf von INPUT oder GET überprüft werden, ob sich Datenbytes im Schnittstellenpuffer befinden.

	IF RXD THEN GET receiveddata
CCBASIC-Befehle

INPUT

GET


Öffnen der Datei im seriellen EEPROM

Das C-Control System behandelt den freien Speicher im seriellen EEPROM nach dem Anwenderprogramm als eine Datei, die zur Aufzeichnung von Daten benutzt werden kann. Zuvor muß die Datei mit dem OPEN#-Befehl in einer der drei unterstützten Betriebsarten geöffnet werden:

WRITE	neue Daten schreiben, alte Daten überschreiben
APPEND	neue Daten schreiben, an alte Daten anhängen
READ	aufgezeichnete Daten lesen
	OPEN# FOR WRITE OPEN# FOR APPEND OPEN# FOR READ
CCBASIC-Befehle

CLOSE#

INPUT#

PRINT#


Schreiben von Daten in die EEPROM-Datei
Schreiben von Daten in die Datei

Nach dem Öffnen der Datei können mit dem PRINT#-Befehl Daten in die Datei im seriellen EEPROM geschrieben werden. Es wird jedoch nur das Schreiben von Integerwerten unterstützt. Jeder aufgezeichnete Wert belegt also zwei Bytes in der Datei.

	PRINT# x x Term, dessen Ergebnis gespeichert werden soll
CCBASIC-Befehle

OPEN#

CLOSE#

INPUT#

FILEFREE


Lesen von Daten aus der EEPROM-Datei
Lesen von Daten aus der Datei

Nach dem Öffnen der Datei im READ-Modus können mit dem INPUT#-Befehl Daten aus der Datei im seriellen EEPROM gelesen werden.

	INPUT# var var Bezeichner einer definierten Variable Die Variable var dient zur Aufnahme des ausgelesenen Wertes.
CCBASIC-Befehle

OPEN#

CLOSE#

PRINT#

EOF


Schließen der Datei im seriellen EEPROM

Nach der letzten Schreiboperation mit PRINT# muß die Datei mit dem CLOSE#-Befehl geschlossen werden. Erst dann sind die Daten gültig und später auslesbar!

	CLOSE#
CCBASIC-Befehle

OPEN#

INPUT#

PRINT#


Prüfen auf Dateiende

Vor dem Lesen von Daten mit INPUT# sollte mit der EOF-Funktion geprüft werden, ob überhaupt noch aufgezeichnete Daten folgen. Anderenfalls werden Daten hinter dem Dateiende gelesen, die von früheren. Anwerderprogrammen oder Datenaufzeichnungen stammen.

	#dumpnext     IF EOF THEN GOTO ready     INPUT# data     PRINT data     GOTO dumpnext   #ready
CCBASIC-Befehle

OPEN#

CLOSE#

INPUT#

PRINT#

FILEFREE


Prüfen des freien Speicherplatzes

Vor dem Schreiben von Daten mit PRINT# sollte mit der FILEFREE-Funktion geprüft werden, ob noch genügend Platz zur Datenaufzeichnung vorhanden ist. Anderenfalls kommt es zum Überlauf des Dateizeigers auf den Anfang des seriellen EEPROMs und zum Überschreiben des Anwenderprogramms, was zum Absturz des C-Control Systems führt.

	IF FILEFREE THEN PRINT# value ELSE GOTO filefull
CCBASIC-Befehle

OPEN#

CLOSE#

INPUT#

PRINT#

EOF


Unterbrechen der Programmausführung

Mit dem PAUSE-Befehl kann der Programmfluß für eine bestimmte Zeit unterbrochen werden.

	PAUSE x  x Term Der Wert des Parameters x bestimmt die Länge der Pause nach der Beziehung x*20ms.
	PAUSE 50
CCBASIC-Befehle

Timer

Wait


Warten auf eine Bedingung

Der WAIT-Befehl dient zur Herstellung von Synchronität des Programmablaufs mit bestimmten äußeren Bedingungen. Der WAIT-Befehl läßt das Programm solange auf der Stelle stehen, bis die angegebene Bedingung (Term condition) erfüllt ist, der Ergebniswert also ungleich Null ist.

	WAIT condition  condition Term
	WAIT key = OFF
	Wird die Bedingung nie erfüllt, kann das Anwenderprogramm nur noch mit der RESET-Taste gestoppt werden! Zum Beispiel bei WAIT 1 < 2 WAIT 0
CCBASIC-Befehle

Timer

PAUSE


Energiesparmodus

Mit dem Befehl SLOWMODE kann der stromsparende Modus des Prozessors ein- und ausgeschaltet werden. Im Stromsparmodus arbeitet das System mit 1/16 Takt und verarbeitet die Befehle dadurch entsprechend langsamer.

	SLOWMODE ON SLOWMODE OFF

Während Echtzeituhr, TIMER, BEEP und PAUSE unbeeinflußt bleiben, wirkt sich die Teilung des Taktes im SLOWMODE auf die Übertragungsrate der seriellen Schnittstelle aus.

CCBASIC-Befehle


Ausgabe von Tönen

Mit dem BEEP-Befehl werden Rechteck-Töne am BEEP-Port des Steuercomputers ausgegeben.

	BEEP ton,dauer,pause  ton Term dauer Term pause Term Die Tonhöhe in Hz ergibt sich dabei aus 250000/ton, die Tonlänge aus dauer*20ms und die Pause nach dem Ton aus pause*20ms. Ist dauer = 0, dann wird der Tongenerator eingeschaltet, der Parameter pause ignoriert und die Programmausführung parallel zur Tonausgabe fortgesetzt. Um den Tongenerator später auszuschalten, benutzen Sie den Befehl BEEP 0,0,0
CCBASIC-Befehle


Umschalten von Ports

Mit dem TOG-Befehl kann der Ausgangspegel eines Digitalports umgeschaltet werden. Der Port muß vor dem TOG-Befehl aktiv sein.

	TOG portvar portvar Bezeichner eines definierten Digitalports
	led = 0 TOG led
CCBASIC-Befehle

Definition von Digitalports


Ausgabe von Pulsen

Mit dem PULSE-Befehl können kurze Pulse an Digitalports ausgegeben werden. Dabei wird der Pegel des jeweils angesprochenen Ports kurz invertiert und dann wieder in den Ausgangszustand versetzt. Der Port muß vor dem PULSE-Befehl aktiv sein.

	PULSE portvar portvar Bezeichner eines definierten Digitalports
	clk = 0 PULSE clk
CCBASIC-Befehle

Definition von Digitalports


Deaktivieren von Ports

Mit dem DEACT-Befehl können Digitalports und Byteports deaktiviert (=hochohmig geschaltet) werden.

	PULSE portvar portvar Bezeichner eines definierten Digitalports oder Byteports
	DEACT leds
CCBASIC-Befehle

Definition von Digitalports

Definition von Byteports


Programmende

Um ein BASIC-Programm zu beenden, benutzen Sie den Befehl END. Der END-Befehl kann z.B. als Reaktion auf bestimmte Umstände in einer bedingten Anweisung stehen.

	END
	IF key = OFF THEN END
CCBASIC-Befehle


Vordefinierte Konstanten

ON = &HFFFF (entspricht -1)

OFF = 0

CCBASIC-Befehle

Definition von Konstanten


Definition von Konstanten

Konstanten können Werte von -32768 bis 32767 aufnehmen. Vor der ersten Verwendung im Programm muß eine Konstante definiert werden.

	DEFINE constname value constname gültiger Bezeichner value ganze Zahl von -32768 bis 32767
	DEFINE limit 100
CCBASIC-Befehle

DEFINE

Vordefinierte Konstanten


Definition von Wordvariablen

Wordvariablen (Integer) können Werte von -32768 bis 32767 aufnehmen. Vor der ersten Verwendung im Programm muß eine Wordvariable definiert werden.

	DEFINE varname WORD DEFINE varname WORD[index] varname gültiger Bezeichner index 1...12
	DEFINE a WORD[1]
CCBASIC-Befehle

DEFINE


Definition von Bytevariablen

Bytevariablen können Werte von 0 bis 255 aufnehmen. Vor der ersten Verwendung im Programm muß eine Bytevariable definiert werden.

	DEFINE varname BYTE DEFINE varname BYTE[index] varname gültiger Bezeichner index 1...24
	DEFINE a BYTE[1]
CCBASIC-Befehle

DEFINE


Definition von Bitvariablen (Flags)
Definition von Bitvariablen

Bitvariablen können die Werte ON und OFF annehmen. Sie dienen so zur einfachen Speicherung von Zuständen (Flags). Vor der ersten Verwendung im Programm muß eine Bitvariable definiert werden.

	DEFINE varname BIT[index] varname gültiger Bezeichner index 1...192
	DEFINE flag BIT[1]
	Um eine Bitvariable (flag) abzufragen, schreiben Sie   IF flag THEN ...       oder   IF flag = ON THEN ... Falsch ist   IF flag = 1 THEN ... , da Bitvariablen nie den Wert 1 annehmen (ON ist ungleich 1!!!).
CCBASIC-Befehle

DEFINE

ON, OFF


Definition von Digitalports

Digitalports können die Zustände ON (elektrischer Highpegel) und OFF (elektrischer Lowpegel) annehmen. Sie dienen zum Einlesen und zur Ausgabe von Schaltsignalen. Vor der ersten Verwendung im Programm muß ein Digitalport definiert werden.

	DEFINE portname PORT[index] portname gültiger Bezeichner index 1...16
	DEFINE relais PORT[1] DEFINE led PORT[8] DEFINE key PORT[9]
	Um einen Digitalport (p) abzufragen, schreiben Sie   IF p THEN ...       oder   IF p = ON THEN ... Falsch ist   IF p = 1 THEN ... , da Digitalports nie den Wert 1 annehmen (ON ist ungleich 1!!!).
CCBASIC-Befehle

DEFINE

ON, OFF

DEACT

PULSE

TOG


Definition von Byteports

Byteports sind 8 Bit breite Digitalports und können Werte von 0 (alle Einzelports mit elektrischem Lowpegel) bis 255 (alle Einzelports mit elektrischem Highpegel) annehmen. Sie dienen zum parallelen Einlesen und Ausgeben von jeweils 8 Schaltsignalen. Vor der ersten Verwendung im Programm muß ein Byteport definiert werden.

	DEFINE portname BYTEPORT[index] portname gültiger Bezeichner index 1...2
	DEFINE leds BYTEPORT[1]
CCBASIC-Befehle

DEFINE

DEACT


Definition von Wordports

Ein Wordport ist ein 16 Bit breiter Digitalport. Der C-Control Steuercomputer (ControlUnit) verfügt über genau einen Wordport, über den alle 16 Einzelports gemeinsam angesprochen werden können. Vor der ersten Verwendung im Programm muß der Wordport definiert werden.

	DEFINE portname WORDPORT[index] portname gültiger Bezeichner index immer 1
	DEFINE ports WORDPORT[1]
CCBASIC-Befehle

DEFINE


Definition von A/D-Ports

Ein A/D-Port dient zur Erfassung analoger Signale, die zum Beispiel von Sensoren ausgegeben werden. Der C-Control Steuercomputer (ControlUnit) verfügt über 8 A/D-Ports mit jeweils 8 Bit Auflösung. So liegt ein von einem A/D-Port eingelesener Wert stets im Wertebereich von 0 bis 255, entsprechend der Eingangsspannung von 0 Volt bis zur Referenzspannung (z.B. 5 Volt). Vor der ersten Verwendung im Programm muß ein A/D-Port definiert werden.

	DEFINE portname AD[index] portname gültiger Bezeichner index 1...8
	DEFINE tempsensor AD[1] DEFINE poti AD[2]
	Eine A/D-Portvariable kann nur gelesen, nicht beschrieben werden.
CCBASIC-Befehle

DEFINE


Definition von D/A-Ports

Ein D/A-Port dient zur Ausgabe pulsweitenmodulierter Analogsignale. Der C-Control Steuercomputer (ControlUnit) verfügt über 2 D/A-Ports mit jeweils 8 Bit Auflösung. Vor der ersten Verwendung im Programm muß ein D/A-Port definiert werden.

	DEFINE portname DA[index] portname gültiger Bezeichner index 1...1
	DEFINE uout DA[1]
	Eine D/A-Portvariable kann nur beschrieben, nicht gelesen werden. So sind zum Beipiel folgende Formulierungen für einen D/A-Port (hier uout) nicht zulässig:    x = uout    uout = uout + 1
CCBASIC-Befehle

DEFINE


Definition von Labeln

Ein Label ist Ziel eines Sprungbefehls.

	#labelname labelname gültiger Bezeichner
CCBASIC-Befehle

GOTO, GOSUB, RETURN